home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 November / SGI Freeware 1999 November - Disc 1.iso / dist / fw_readline.idb / usr / freeware / catman / p_man / cat3 / readline.Z / readline
Text File  |  1999-04-16  |  61KB  |  1,189 lines

  1.  
  2.  
  3.  
  4.      RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))         GGGGNNNNUUUU ((((1111999999998888 DDDDeeeecccc 33331111))))           RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.       readline - get a line    from a user with editing
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.       ####iiiinnnncccclllluuuuddddeeee <<<<ssssttttddddiiiioooo....hhhh>>>>
  13.       ####iiiinnnncccclllluuuuddddeeee <<<<rrrreeeeaaaaddddlllliiiinnnneeee....hhhh>>>>
  14.       ####iiiinnnncccclllluuuuddddeeee <<<<hhhhiiiissssttttoooorrrryyyy....hhhh>>>>
  15.  
  16.       cccchhhhaaaarrrr ****rrrreeeeaaaaddddlllliiiinnnneeee ((((pppprrrroooommmmpppptttt))))
  17.       cccchhhhaaaarrrr ****pppprrrroooommmmpppptttt;;;;
  18.  
  19.      CCCCOOOOPPPPYYYYRRRRIIIIGGGGHHHHTTTT
  20.       Readline is Copyright    (C) 1989, 1991,    1993, 1995, 1996 by
  21.       the Free Software Foundation,    Inc.
  22.  
  23.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  24.       rrrreeeeaaaaddddlllliiiinnnneeee will    read a line from the terminal and return it,
  25.       using    pppprrrroooommmmpppptttt as a prompt.  If    pppprrrroooommmmpppptttt is null,    no prompt is
  26.       issued.  The line returned is    allocated with _m_a_l_l_o_c(3), so
  27.       the caller must free it when finished.  The line returned
  28.       has the final    newline    removed, so only the text of the line
  29.       remains.
  30.  
  31.       rrrreeeeaaaaddddlllliiiinnnneeee offers editing capabilities while the user is
  32.       entering the line.  By default, the line editing commands
  33.       are similar to those of emacs.  A vi-style line editing
  34.       interface is also available.
  35.  
  36.      RRRREEEETTTTUUUURRRRNNNN VVVVAAAALLLLUUUUEEEE
  37.       rrrreeeeaaaaddddlllliiiinnnneeee returns the text of the line    read.  A blank line
  38.       returns the empty string.  If    EEEEOOOOFFFF is encountered while
  39.       reading a line, and the line is empty, NNNNUUUULLLLLLLL is returned.  If
  40.       an EEEEOOOOFFFF is read with a    non-empty line,    it is treated as a
  41.       newline.
  42.  
  43.      NNNNOOOOTTTTAAAATTTTIIIIOOOONNNN
  44.       An emacs-style notation is used to denote keystrokes.
  45.       Control keys are denoted by C-_k_e_y, e.g., C-n means
  46.       Control-N.  Similarly, _m_e_t_a keys are denoted by M-_k_e_y, so
  47.       M-x means Meta-X.  (On keyboards without a _m_e_t_a key, M-_x
  48.       means    ESC _x, i.e., press the Escape key then the _x key.
  49.       This makes ESC the _m_e_t_a _p_r_e_f_i_x.  The combination M-C-_x means
  50.       ESC-Control-_x, or press the Escape key then hold the Control
  51.       key while pressing the _x key.)
  52.  
  53.       Readline commands may    be given numeric _a_r_g_u_m_e_n_t_s, which
  54.       normally act as a repeat count.  Sometimes, however, it is
  55.       the sign of the argument that    is significant.     Passing a
  56.       negative argument to a command that acts in the forward
  57.       direction (e.g., kkkkiiiillllllll----lllliiiinnnneeee) causes that command to act in a
  58.       backward direction.  Commands    whose behavior with arguments
  59.       deviates from    this are noted.
  60.  
  61.  
  62.  
  63.      Page 1                         (printed 3/30/99)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))         GGGGNNNNUUUU ((((1111999999998888 DDDDeeeecccc 33331111))))           RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))
  71.  
  72.  
  73.  
  74.       When a command is described as _k_i_l_l_i_n_g text, the text
  75.       deleted is saved for possible    future retrieval (_y_a_n_k_i_n_g).
  76.       The killed text is saved in a    _k_i_l_l _r_i_n_g.  Consecutive    kills
  77.       cause    the text to be accumulated into    one unit, which    can be
  78.       yanked all at    once. Commands which do    not kill text separate
  79.       the chunks of    text on    the kill ring.
  80.  
  81.      IIIINNNNIIIITTTTIIIIAAAALLLLIIIIZZZZAAAATTTTIIIIOOOONNNN FFFFIIIILLLLEEEE
  82.       Readline is customized by putting commands in    an
  83.       initialization file (the _i_n_p_u_t_r_c file).  The name of this
  84.       file is taken    from the value of the IIIINNNNPPPPUUUUTTTTRRRRCCCC environment
  85.       variable.  If    that variable is unset,    the default is
  86.       ~/._i_n_p_u_t_r_c.  When a program which uses the readline library
  87.       starts up, the init file is read, and    the key    bindings and
  88.       variables are    set.  There are    only a few basic constructs
  89.       allowed in the readline init file.  Blank lines are ignored.
  90.       Lines    beginning with a #### are comments.  Lines    beginning with
  91.       a $$$$ indicate conditional constructs.    Other lines denote key
  92.       bindings and variable    settings.  Each    program    using this
  93.       library may add its own commands and bindings.
  94.  
  95.       For example, placing
  96.  
  97.            M-Control-u: universal-argument
  98.       or
  99.            C-Meta-u: universal-argument
  100.       into the _i_n_p_u_t_r_c would make M-C-u execute the    readline
  101.       command _u_n_i_v_e_r_s_a_l-_a_r_g_u_m_e_n_t.
  102.  
  103.       The following    symbolic character names are recognized    while
  104.       processing key bindings:  _R_U_B_O_U_T, _D_E_L, _E_S_C, _L_F_D, _N_E_W_L_I_N_E,
  105.       _R_E_T, _R_E_T_U_R_N, _S_P_C, _S_P_A_C_E, and _T_A_B.  In    addition to command
  106.       names, readline allows keys to be bound to a string that is
  107.       inserted when    the key    is pressed (a _m_a_c_r_o).
  108.  
  109.     KKKKeeeeyyyy BBBBiiiinnnnddddiiiinnnnggggssss
  110.       The syntax for controlling key bindings in the _i_n_p_u_t_r_c file
  111.       is simple.  All that is required is the name of the command
  112.       or the text of a macro and a key sequence to which it    should
  113.       be bound. The    name may be specified in one of    two ways:  as
  114.       a symbolic key name, possibly    with _M_e_t_a- or _C_o_n_t_r_o_l-
  115.       prefixes, or as a key    sequence.  When    using the form
  116.       kkkkeeeeyyyynnnnaaaammmmeeee:_f_u_n_c_t_i_o_n-_n_a_m_e    or _m_a_c_r_o, _k_e_y_n_a_m_e is the name of a key
  117.       spelled out in English.  For example:
  118.  
  119.            Control-u: universal-argument
  120.            Meta-Rubout: backward-kill-word
  121.            Control-o: ">&output"
  122.  
  123.       In the above example,    _C-_u is bound to    the function
  124.       uuuunnnniiiivvvveeeerrrrssssaaaallll----aaaarrrrgggguuuummmmeeeennnntttt, _M-_D_E_L is bound to    the function
  125.       bbbbaaaacccckkkkwwwwaaaarrrrdddd----kkkkiiiillllllll----wwwwoooorrrrdddd, and _C-_o is bound to run the macro
  126.  
  127.  
  128.  
  129.      Page 2                         (printed 3/30/99)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))         GGGGNNNNUUUU ((((1111999999998888 DDDDeeeecccc 33331111))))           RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))
  137.  
  138.  
  139.  
  140.       expressed on the right hand side (that is, to    insert the
  141.       text >&_o_u_t_p_u_t    into the line).
  142.  
  143.       In the second    form, """"kkkkeeeeyyyysssseeeeqqqq"""":_f_u_n_c_t_i_o_n-_n_a_m_e or    _m_a_c_r_o, kkkkeeeeyyyysssseeeeqqqq
  144.       differs from kkkkeeeeyyyynnnnaaaammmmeeee above in    that strings denoting an
  145.       entire key sequence may be specified by placing the sequence
  146.       within double    quotes.     Some GNU Emacs    style key escapes can
  147.       be used, as in the following example.
  148.  
  149.            "\C-u": universal-argument
  150.            "\C-x\C-r": re-read-init-file
  151.            "\e[11~": "Function Key 1"
  152.  
  153.       In this example, _C-_u is again    bound to the function
  154.       uuuunnnniiiivvvveeeerrrrssssaaaallll----aaaarrrrgggguuuummmmeeeennnntttt.  _C-_x _C-_r is bound    to the function
  155.       rrrreeee----rrrreeeeaaaadddd----iiiinnnniiiitttt----ffffiiiilllleeee, and _E_S_C [ _1 _1 ~ is    bound to insert    the
  156.       text FFFFuuuunnnnccccttttiiiioooonnnn    KKKKeeeeyyyy 1111.    The full set of    GNU Emacs style    escape
  157.       sequences is
  158.            \\\\CCCC----  control prefix
  159.            \\\\MMMM----  meta prefix
  160.            \\\\eeee   an escape character
  161.            \\\\\\\\   backslash
  162.            \\\\""""   literal "
  163.            \\\\''''   literal '
  164.  
  165.       In addition to the GNU Emacs style escape sequences, a
  166.       second set of    backslash escapes is available:
  167.            \\\\aaaa   alert (bell)
  168.            \\\\bbbb   backspace
  169.            \\\\dddd   delete
  170.            \\\\ffff   form feed
  171.            \\\\nnnn   newline
  172.            \\\\rrrr   carriage return
  173.            \\\\tttt   horizontal tab
  174.            \\\\vvvv   vertical tab
  175.            \\\\_n_n_n the    character whose    ASCII code is the octal    value
  176.             _n_n_n    (one to    three digits)
  177.            \\\\xxxx_n_n_n
  178.             the    character whose    ASCII code is the hexadecimal
  179.             value _n_n_n (one to three digits)
  180.  
  181.       When entering    the text of a macro, single or double quotes
  182.       should be used to indicate a macro definition.  Unquoted
  183.       text is assumed to be    a function name.  In the macro body,
  184.       the backslash    escapes    described above    are expanded.
  185.       Backslash will quote any other character in the macro    text,
  186.       including " and '.
  187.  
  188.       BBBBaaaasssshhhh allows the current readline key bindings    to be
  189.       displayed or modified    with the bbbbiiiinnnndddd builtin command.    The
  190.       editing mode may be switched during interactive use by using
  191.       the ----oooo option    to the sssseeeetttt builtin command.  Other programs
  192.  
  193.  
  194.  
  195.      Page 3                         (printed 3/30/99)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))         GGGGNNNNUUUU ((((1111999999998888 DDDDeeeecccc 33331111))))           RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))
  203.  
  204.  
  205.  
  206.       using    this library provide similar mechanisms.  The _i_n_p_u_t_r_c
  207.       file may be edited and re-read if a program does not provide
  208.       any other means to incorporate new bindings.
  209.  
  210.     VVVVaaaarrrriiiiaaaabbbblllleeeessss
  211.       Readline has variables that can be used to further customize
  212.       its behavior.     A variable may    be set in the _i_n_p_u_t_r_c file
  213.       with a statement of the form
  214.  
  215.            sssseeeetttt _v_a_r_i_a_b_l_e-_n_a_m_e _v_a_l_u_e
  216.  
  217.       Except where noted, readline variables can take the values
  218.       OOOOnnnn or    OOOOffffffff.  The variables and    their default values are:
  219.  
  220.       bbbbeeeellllllll----ssssttttyyyylllleeee ((((aaaauuuuddddiiiibbbblllleeee))))
  221.            Controls    what happens when readline wants to ring the
  222.            terminal    bell.  If set to nnnnoooonnnneeee, readline    never rings
  223.            the bell.  If set to vvvviiiissssiiiibbbblllleeee, readline uses a visible
  224.            bell if one is available.  If set to aaaauuuuddddiiiibbbblllleeee, readline
  225.            attempts    to ring    the terminal's bell.
  226.       ccccoooommmmmmmmeeeennnntttt----bbbbeeeeggggiiiinnnn    ((((````````####''''''''))))
  227.            The string that is inserted in vvvviiii mode when the
  228.            iiiinnnnsssseeeerrrrtttt----ccccoooommmmmmmmeeeennnntttt command is executed.  This command is
  229.            bound to    MMMM----#### in emacs mode and to #### in vi command mode.
  230.       ccccoooommmmpppplllleeeettttiiiioooonnnn----iiiiggggnnnnoooorrrreeee----ccccaaaasssseeee ((((OOOOffffffff))))
  231.            If set to OOOOnnnn, readline performs filename    matching and
  232.            completion in a case-insensitive    fashion.
  233.       ccccoooommmmpppplllleeeettttiiiioooonnnn----qqqquuuueeeerrrryyyy----iiiitttteeeemmmmssss ((((111100000000))))
  234.            This determines when the    user is    queried    about viewing
  235.            the number of possible completions generated by the
  236.            ppppoooossssssssiiiibbbblllleeee----ccccoooommmmpppplllleeeettttiiiioooonnnnssss command.  It may be    set to any
  237.            integer value greater than or equal to zero.  If    the
  238.            number of possible completions is greater than or equal
  239.            to the value of this variable, the user is asked
  240.            whether or not he wishes    to view    them; otherwise    they
  241.            are simply listed on the    terminal.
  242.       ccccoooonnnnvvvveeeerrrrtttt----mmmmeeeettttaaaa ((((OOOOnnnn))))
  243.            If set to OOOOnnnn, readline will convert characters with the
  244.            eighth bit set to an ASCII key sequence by stripping
  245.            the eighth bit and prepending an    escape character (in
  246.            effect, using escape as the _m_e_t_a    _p_r_e_f_i_x).
  247.       ddddiiiissssaaaabbbblllleeee----ccccoooommmmpppplllleeeettttiiiioooonnnn ((((OOOOffffffff))))
  248.            If set to OOOOnnnn, readline will inhibit word    completion.
  249.            Completion characters will be inserted into the line as
  250.            if they had been    mapped to sssseeeellllffff----iiiinnnnsssseeeerrrrtttt.
  251.       eeeeddddiiiittttiiiinnnngggg----mmmmooooddddeeee ((((eeeemmmmaaaaccccssss))))
  252.            Controls    whether    readline begins    with a set of key
  253.            bindings    similar    to _e_m_a_c_s or _v_i.     eeeeddddiiiittttiiiinnnngggg----mmmmooooddddeeee can be
  254.            set to either eeeemmmmaaaaccccssss or vvvviiii.
  255.       eeeennnnaaaabbbblllleeee----kkkkeeeeyyyyppppaaaadddd    ((((OOOOffffffff))))
  256.            When set    to OOOOnnnn, readline    will try to enable the
  257.            application keypad when it is called.  Some systems
  258.  
  259.  
  260.  
  261.      Page 4                         (printed 3/30/99)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))         GGGGNNNNUUUU ((((1111999999998888 DDDDeeeecccc 33331111))))           RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))
  269.  
  270.  
  271.  
  272.            need this to enable the arrow keys.
  273.       eeeexxxxppppaaaannnndddd----ttttiiiillllddddeeee ((((OOOOffffffff))))
  274.            If set to oooonnnn, tilde expansion is    performed when
  275.            readline    attempts word completion.
  276.       hhhhoooorrrriiiizzzzoooonnnnttttaaaallll----ssssccccrrrroooollllllll----mmmmooooddddeeee ((((OOOOffffffff))))
  277.            When set    to OOOOnnnn, makes readline use a single line    for
  278.            display,    scrolling the input horizontally on a single
  279.            screen line when    it becomes longer than the screen
  280.            width rather than wrapping to a new line.
  281.       iiiinnnnppppuuuutttt----mmmmeeeettttaaaa ((((OOOOffffffff))))
  282.            If set to OOOOnnnn, readline will enable eight-bit input
  283.            (that is, it will not strip the high bit    from the
  284.            characters it reads), regardless    of what    the terminal
  285.            claims it can support.  The name    mmmmeeeettttaaaa----ffffllllaaaagggg is a synonym
  286.            for this    variable.
  287.       iiiisssseeeeaaaarrrrcccchhhh----tttteeeerrrrmmmmiiiinnnnaaaattttoooorrrrssss ((((````````CCCC----[[[[CCCC----JJJJ''''''''))))
  288.            The string of characters    that should terminate an
  289.            incremental search without subsequently executing the
  290.            character as a command.    If this    variable has not been
  291.            given a value, the characters _E_S_C and _C-_J will
  292.            terminate an incremental    search.
  293.       kkkkeeeeyyyymmmmaaaapppp ((((eeeemmmmaaaaccccssss))))
  294.            Set the current readline    keymap.     The set of legal
  295.            keymap names is _e_m_a_c_s, _e_m_a_c_s-_s_t_a_n_d_a_r_d, _e_m_a_c_s-_m_e_t_a,
  296.            _e_m_a_c_s-_c_t_l_x, _v_i, _v_i-_m_o_v_e,    _v_i-_c_o_m_m_a_n_d, and    _v_i-_i_n_s_e_r_t.  _v_i
  297.            is equivalent to    _v_i-_c_o_m_m_a_n_d; _e_m_a_c_s is equivalent    to
  298.            _e_m_a_c_s-_s_t_a_n_d_a_r_d.    The default value is _e_m_a_c_s; the    value
  299.            of eeeeddddiiiittttiiiinnnngggg----mmmmooooddddeeee also affects the    default    keymap.
  300.       mmmmaaaarrrrkkkk----ddddiiiirrrreeeeccccttttoooorrrriiiieeeessss ((((OOOOnnnn))))
  301.            If set to OOOOnnnn, complete<d    directory names    have a slash
  302.            appended.
  303.       mmmmaaaarrrrkkkk----mmmmooooddddiiiiffffiiiieeeedddd----lllliiiinnnneeeessss ((((OOOOffffffff))))
  304.            If set to OOOOnnnn, history lines that    have been modified are
  305.            displayed with a    preceding asterisk (****).
  306.       oooouuuuttttppppuuuutttt----mmmmeeeettttaaaa ((((OOOOffffffff))))
  307.            If set to OOOOnnnn, readline will display characters with the
  308.            eighth bit set directly rather than as a    meta-prefixed
  309.            escape sequence.
  310.       pppprrrriiiinnnntttt----ccccoooommmmpppplllleeeettttiiiioooonnnnssss----hhhhoooorrrriiiizzzzoooonnnnttttaaaallllllllyyyy ((((OOOOffffffff))))
  311.            If set to OOOOnnnn, readline will display completions with
  312.            matches sorted horizontally in alphabetical order,
  313.            rather than down    the screen.
  314.       sssshhhhoooowwww----aaaallllllll----iiiiffff----aaaammmmbbbbiiiigggguuuuoooouuuussss    ((((OOOOffffffff))))
  315.            This alters the default behavior    of the completion
  316.            functions.  If set to oooonnnn, words which have more than
  317.            one possible completion cause the matches to be listed
  318.            immediately instead of ringing the bell.
  319.       vvvviiiissssiiiibbbblllleeee----ssssttttaaaattttssss    ((((OOOOffffffff))))
  320.            If set to OOOOnnnn, a character denoting a file's type    as
  321.            reported    by ssssttttaaaatttt(2) is appended to the filename when
  322.            listing possible    completions.
  323.  
  324.  
  325.  
  326.  
  327.      Page 5                         (printed 3/30/99)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))         GGGGNNNNUUUU ((((1111999999998888 DDDDeeeecccc 33331111))))           RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))
  335.  
  336.  
  337.  
  338.     CCCCoooonnnnddddiiiittttiiiioooonnnnaaaallll CCCCoooonnnnssssttttrrrruuuuccccttttssss
  339.       Readline implements a    facility similar in spirit to the
  340.       conditional compilation features of the C preprocessor which
  341.       allows key bindings and variable settings to be performed as
  342.       the result of    tests.    There are four parser directives used.
  343.  
  344.       $$$$iiiiffff  The $$$$iiiiffff construct allows    bindings to be made based on
  345.            the editing mode, the terminal being used, or the
  346.            application using readline.  The    text of    the test
  347.            extends to the end of the line; no characters are
  348.            required    to isolate it.
  349.  
  350.            mmmmooooddddeeee The    mmmmooooddddeeee==== form of the $$$$iiiiffff directive    is used    to
  351.             test whether readline is in    emacs or vi mode.
  352.             This may be    used in    conjunction with the sssseeeetttt
  353.             kkkkeeeeyyyymmmmaaaapppp command, for    instance, to set bindings in
  354.             the    _e_m_a_c_s-_s_t_a_n_d_a_r_d and _e_m_a_c_s-_c_t_l_x keymaps only if
  355.             readline is    starting out in    emacs mode.
  356.  
  357.            tttteeeerrrrmmmm The    tttteeeerrrrmmmm==== form may be used to include terminal-
  358.             specific key bindings, perhaps to bind the key
  359.             sequences output by    the terminal's function    keys.
  360.             The    word on    the right side of the ====    is tested
  361.             against the    full name of the terminal and the
  362.             portion of the terminal name before    the first ----.
  363.             This allows    _s_u_n to match both _s_u_n and _s_u_n-_c_m_d, for
  364.             instance.
  365.  
  366.            aaaapppppppplllliiiiccccaaaattttiiiioooonnnn
  367.             The    aaaapppppppplllliiiiccccaaaattttiiiioooonnnn construct is used to include
  368.             application-specific settings.  Each program using
  369.             the    readline library sets the _a_p_p_l_i_c_a_t_i_o_n _n_a_m_e,
  370.             and    an initialization file can test    for a
  371.             particular value.  This could be used to bind key
  372.             sequences to functions useful for a    specific
  373.             program.  For instance, the    following command adds
  374.             a key sequence that    quotes the current or previous
  375.             word in Bash:
  376.  
  377.             $$$$iiiiffff    bash
  378.             # Quote the    current    or previous word
  379.             "\C-xq": "\eb\"\ef\""
  380.             $$$$eeeennnnddddiiiiffff
  381.  
  382.       $$$$eeeennnnddddiiiiffff
  383.            This command, as    seen in    the previous example,
  384.            terminates an $$$$iiiiffff command.
  385.  
  386.       $$$$eeeellllsssseeee
  387.            Commands    in this    branch of the $$$$iiiiffff directive are
  388.            executed    if the test fails.
  389.  
  390.  
  391.  
  392.  
  393.      Page 6                         (printed 3/30/99)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))         GGGGNNNNUUUU ((((1111999999998888 DDDDeeeecccc 33331111))))           RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))
  401.  
  402.  
  403.  
  404.       $$$$iiiinnnncccclllluuuuddddeeee
  405.            This directive takes a single filename as an argument
  406.            and reads commands and bindings from that file.    For
  407.            example,    the following directive    would read
  408.            /_e_t_c/_i_n_p_u_t_r_c:
  409.  
  410.            $$$$iiiinnnncccclllluuuuddddeeee     /_e_t_c/_i_n_p_u_t_r_c
  411.  
  412.      SSSSEEEEAAAARRRRCCCCHHHHIIIINNNNGGGG
  413.       Readline provides commands for searching through the command
  414.       history for lines containing a specified string.  There are
  415.       two search modes:  _i_n_c_r_e_m_e_n_t_a_l and _n_o_n-_i_n_c_r_e_m_e_n_t_a_l.
  416.  
  417.       Incremental searches begin before the    user has finished
  418.       typing the search string.  As    each character of the search
  419.       string is typed, readline displays the next entry from the
  420.       history matching the string typed so far.  An    incremental
  421.       search requires only as many characters as needed to find
  422.       the desired history entry.  The characters present in    the
  423.       value    of the _i_s_e_a_r_c_h-_t_e_r_m_i_n_a_t_o_r_s variable are    used to
  424.       terminate an incremental search.  If that variable has not
  425.       been assigned    a value    the Escape and Control-J characters
  426.       will terminate an incremental    search.     Control-G will    abort
  427.       an incremental search    and restore the    original line.    When
  428.       the search is    terminated, the    history    entry containing the
  429.       search string    becomes    the current line.  To find other
  430.       matching entries in the history list,    type Control-S or
  431.       Control-R as appropriate.  This will search backward or
  432.       forward in the history for the next line matching the    search
  433.       string typed so far.    Any other key sequence bound to    a
  434.       readline command will    terminate the search and execute that
  435.       command.  For    instance, a _n_e_w_l_i_n_e will terminate the search
  436.       and accept the line, thereby executing the command from the
  437.       history list.
  438.  
  439.       Non-incremental searches read    the entire search string
  440.       before starting to search for    matching history lines.     The
  441.       search string    may be typed by    the user or be part of the
  442.       contents of the current line.
  443.  
  444.      EEEEDDDDIIIITTTTIIIINNNNGGGG CCCCOOOOMMMMMMMMAAAANNNNDDDDSSSS
  445.       The following    is a list of the names of the commands and the
  446.       default key sequences    to which they are bound.  Command
  447.       names    without    an accompanying    key sequence are unbound by
  448.       default.
  449.  
  450.     CCCCoooommmmmmmmaaaannnnddddssss ffffoooorrrr MMMMoooovvvviiiinnnngggg
  451.       bbbbeeeeggggiiiinnnnnnnniiiinnnngggg----ooooffff----lllliiiinnnneeee ((((CCCC----aaaa))))
  452.            Move to the start of the    current    line.
  453.       eeeennnndddd----ooooffff----lllliiiinnnneeee ((((CCCC----eeee))))
  454.            Move to the end of the line.
  455.       ffffoooorrrrwwwwaaaarrrrdddd----cccchhhhaaaarrrr ((((CCCC----ffff))))
  456.  
  457.  
  458.  
  459.      Page 7                         (printed 3/30/99)
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.      RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))         GGGGNNNNUUUU ((((1111999999998888 DDDDeeeecccc 33331111))))           RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))
  467.  
  468.  
  469.  
  470.            Move forward a character.
  471.       bbbbaaaacccckkkkwwwwaaaarrrrdddd----cccchhhhaaaarrrr    ((((CCCC----bbbb))))
  472.            Move back a character.
  473.       ffffoooorrrrwwwwaaaarrrrdddd----wwwwoooorrrrdddd ((((MMMM----ffff))))
  474.            Move forward to the end of the next word.  Words    are
  475.            composed    of alphanumeric    characters (letters and
  476.            digits).
  477.       bbbbaaaacccckkkkwwwwaaaarrrrdddd----wwwwoooorrrrdddd    ((((MMMM----bbbb))))
  478.            Move back to the    start of this, or the previous,    word.
  479.            Words are composed of alphanumeric characters (letters
  480.            and digits).
  481.       cccclllleeeeaaaarrrr----ssssccccrrrreeeeeeeennnn ((((CCCC----llll))))
  482.            Clear the screen    leaving    the current line at the    top of
  483.            the screen.  With an argument, refresh the current line
  484.            without clearing    the screen.
  485.       rrrreeeeddddrrrraaaawwww----ccccuuuurrrrrrrreeeennnntttt----lllliiiinnnneeee
  486.            Refresh the current line.
  487.  
  488.     CCCCoooommmmmmmmaaaannnnddddssss ffffoooorrrr MMMMaaaannnniiiippppuuuullllaaaattttiiiinnnngggg tttthhhheeee HHHHiiiissssttttoooorrrryyyy
  489.       aaaacccccccceeeepppptttt----lllliiiinnnneeee ((((NNNNeeeewwwwlllliiiinnnneeee,,,,    RRRReeeettttuuuurrrrnnnn))))
  490.            Accept the line regardless of where the cursor is.  If
  491.            this line is non-empty, add it to the history list. If
  492.            the line    is a modified history line, then restore the
  493.            history line to its original state.
  494.       pppprrrreeeevvvviiiioooouuuussss----hhhhiiiissssttttoooorrrryyyy ((((CCCC----pppp))))
  495.            Fetch the previous command from the history list,
  496.            moving back in the list.
  497.       nnnneeeexxxxtttt----hhhhiiiissssttttoooorrrryyyy ((((CCCC----nnnn))))
  498.            Fetch the next command from the history list, moving
  499.            forward in the list.
  500.       bbbbeeeeggggiiiinnnnnnnniiiinnnngggg----ooooffff----hhhhiiiissssttttoooorrrryyyy ((((MMMM----<<<<))))
  501.            Move to the first line in the history.
  502.       eeeennnndddd----ooooffff----hhhhiiiissssttttoooorrrryyyy ((((MMMM---->>>>))))
  503.            Move to the end of the input history, i.e., the line
  504.            currently being entered.
  505.       rrrreeeevvvveeeerrrrsssseeee----sssseeeeaaaarrrrcccchhhh----hhhhiiiissssttttoooorrrryyyy ((((CCCC----rrrr))))
  506.            Search backward starting    at the current line and    moving
  507.            `up' through the    history    as necessary.  This is an
  508.            incremental search.
  509.       ffffoooorrrrwwwwaaaarrrrdddd----sssseeeeaaaarrrrcccchhhh----hhhhiiiissssttttoooorrrryyyy ((((CCCC----ssss))))
  510.            Search forward starting at the current line and moving
  511.            `down' through the history as necessary.     This is an
  512.            incremental search.
  513.       nnnnoooonnnn----iiiinnnnccccrrrreeeemmmmeeeennnnttttaaaallll----rrrreeeevvvveeeerrrrsssseeee----sssseeeeaaaarrrrcccchhhh----hhhhiiiissssttttoooorrrryyyy ((((MMMM----pppp))))
  514.            Search backward through the history starting at the
  515.            current line using a non-incremental search for a
  516.            string supplied by the user.
  517.       nnnnoooonnnn----iiiinnnnccccrrrreeeemmmmeeeennnnttttaaaallll----ffffoooorrrrwwwwaaaarrrrdddd----sssseeeeaaaarrrrcccchhhh----hhhhiiiissssttttoooorrrryyyy ((((MMMM----nnnn))))
  518.            Search forward through the history using    a non-
  519.            incremental search for a    string supplied    by the user.
  520.       hhhhiiiissssttttoooorrrryyyy----sssseeeeaaaarrrrcccchhhh----ffffoooorrrrwwwwaaaarrrrdddd
  521.            Search forward through the history for the string of
  522.  
  523.  
  524.  
  525.      Page 8                         (printed 3/30/99)
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.      RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))         GGGGNNNNUUUU ((((1111999999998888 DDDDeeeecccc 33331111))))           RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))
  533.  
  534.  
  535.  
  536.            characters between the start of the current line    and
  537.            the current cursor position (the    _p_o_i_n_t).     This is a
  538.            non-incremental search.
  539.       hhhhiiiissssttttoooorrrryyyy----sssseeeeaaaarrrrcccchhhh----bbbbaaaacccckkkkwwwwaaaarrrrdddd
  540.            Search backward through the history for the string of
  541.            characters between the start of the current line    and
  542.            the point.  This    is a non-incremental search.
  543.       yyyyaaaannnnkkkk----nnnntttthhhh----aaaarrrrgggg ((((MMMM----CCCC----yyyy))))
  544.            Insert the first    argument to the    previous command
  545.            (usually    the second word    on the previous    line) at point
  546.            (the current cursor position).  With an argument    _n,
  547.            insert the _nth word from    the previous command (the
  548.            words in    the previous command begin with    word 0).  A
  549.            negative    argument inserts the _nth word from the end of
  550.            the previous command.
  551.       yyyyaaaannnnkkkk----llllaaaasssstttt----aaaarrrrgggg    ((((MMMM----....,,,, MMMM----____))))
  552.            Insert the last argument    to the previous    command    (the
  553.            last word of the    previous history entry).  With an
  554.            argument, behave    exactly    like yyyyaaaannnnkkkk----nnnntttthhhh----aaaarrrrgggg.  Successive
  555.            calls to    yyyyaaaannnnkkkk----llllaaaasssstttt----aaaarrrrgggg move back    through    the history
  556.            list, inserting the last    argument of each line in turn.
  557.  
  558.     CCCCoooommmmmmmmaaaannnnddddssss ffffoooorrrr CCCChhhhaaaannnnggggiiiinnnngggg TTTTeeeexxxxtttt
  559.       ddddeeeelllleeeetttteeee----cccchhhhaaaarrrr ((((CCCC----dddd))))
  560.            Delete the character under the cursor.  If point    is at
  561.            the beginning of    the line, there    are no characters in
  562.            the line, and the last character    typed was not bound to
  563.            BBBBddddeeeelllleeeetttteeee----cccchhhhaaaarrrr, then return EEEEOOOOFFFF.
  564.       bbbbaaaacccckkkkwwwwaaaarrrrdddd----ddddeeeelllleeeetttteeee----cccchhhhaaaarrrr ((((RRRRuuuubbbboooouuuutttt))))
  565.            Delete the character behind the cursor.    When given a
  566.            numeric argument, save the deleted text on the kill
  567.            ring.
  568.       ffffoooorrrrwwwwaaaarrrrdddd----bbbbaaaacccckkkkwwwwaaaarrrrdddd----ddddeeeelllleeeetttteeee----cccchhhhaaaarrrr
  569.            Delete the character under the cursor, unless the
  570.            cursor is at the    end of the line, in which case the
  571.            character behind    the cursor is deleted.    By default,
  572.            this is not bound to a key.
  573.       qqqquuuuooootttteeeedddd----iiiinnnnsssseeeerrrrtttt    ((((CCCC----qqqq,,,, CCCC----vvvv))))
  574.            Add the next character that you type to the line
  575.            verbatim.  This is how to insert    characters like    CCCC----qqqq,
  576.            for example.
  577.       ttttaaaabbbb----iiiinnnnsssseeeerrrrtttt ((((MMMM----TTTTAAAABBBB))))
  578.            Insert a    tab character.
  579.       sssseeeellllffff----iiiinnnnsssseeeerrrrtttt ((((aaaa,,,, bbbb,,,, AAAA,,,,    1111,,,, !!!!,,,, ............))))
  580.            Insert the character typed.
  581.       ttttrrrraaaannnnssssppppoooosssseeee----cccchhhhaaaarrrrssss ((((CCCC----tttt))))
  582.            Drag the    character before point forward over the
  583.            character at point.  Point moves    forward    as well.  If
  584.            point is    at the end of the line,    then transpose the two
  585.            characters before point.     Negative arguments don't
  586.            work.
  587.       ttttrrrraaaannnnssssppppoooosssseeee----wwwwoooorrrrddddssss ((((MMMM----tttt))))
  588.  
  589.  
  590.  
  591.      Page 9                         (printed 3/30/99)
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.      RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))         GGGGNNNNUUUU ((((1111999999998888 DDDDeeeecccc 33331111))))           RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))
  599.  
  600.  
  601.  
  602.            Drag the    word behind the    cursor past the    word in    front
  603.            of the cursor moving the    cursor over that word as well.
  604.       uuuuppppccccaaaasssseeee----wwwwoooorrrrdddd ((((MMMM----uuuu))))
  605.            Uppercase the current (or following) word.  With    a
  606.            negative    argument, uppercase the    previous word, but do
  607.            not move    point.
  608.       ddddoooowwwwnnnnccccaaaasssseeee----wwwwoooorrrrdddd    ((((MMMM----llll))))
  609.            Lowercase the current (or following) word.  With    a
  610.            negative    argument, lowercase the    previous word, but do
  611.            not move    point.
  612.       ccccaaaappppiiiittttaaaalllliiiizzzzeeee----wwwwoooorrrrdddd ((((MMMM----cccc))))
  613.            Capitalize the current (or following) word.  With a
  614.            negative    argument, capitalize the previous word,    but do
  615.            not move    point.
  616.  
  617.     KKKKiiiilllllllliiiinnnngggg    aaaannnndddd YYYYaaaannnnkkkkiiiinnnngggg
  618.       kkkkiiiillllllll----lllliiiinnnneeee ((((CCCC----kkkk))))
  619.            Kill the    text from the current cursor position to the
  620.            end of the line.
  621.       bbbbaaaacccckkkkwwwwaaaarrrrdddd----kkkkiiiillllllll----lllliiiinnnneeee ((((CCCC----xxxx RRRRuuuubbbboooouuuutttt))))
  622.            Kill backward to    the beginning of the line.
  623.       uuuunnnniiiixxxx----lllliiiinnnneeee----ddddiiiissssccccaaaarrrrdddd ((((CCCC----uuuu))))
  624.            Kill backward from point    to the beginning of the    line.
  625.            The killed text is saved    on the kill-ring.
  626.       kkkkiiiillllllll----wwwwhhhhoooolllleeee----lllliiiinnnneeee
  627.            Kill all    characters on the current line,    no matter
  628.            where the cursor    is.
  629.       kkkkiiiillllllll----wwwwoooorrrrdddd ((((MMMM----dddd))))
  630.            Kill from the cursor to the end of the current word, or
  631.            if between words, to the    end of the next    word.  Word
  632.            boundaries are the same as those    used by    ffffoooorrrrwwwwaaaarrrrdddd----wwwwoooorrrrdddd.
  633.       bbbbaaaacccckkkkwwwwaaaarrrrdddd----kkkkiiiillllllll----wwwwoooorrrrdddd ((((MMMM----RRRRuuuubbbboooouuuutttt))))
  634.            Kill the    word behind the    cursor.     Word boundaries are
  635.            the same    as those used by bbbbaaaacccckkkkwwwwaaaarrrrdddd----wwwwoooorrrrdddd.
  636.       uuuunnnniiiixxxx----wwwwoooorrrrdddd----rrrruuuubbbboooouuuutttt ((((CCCC----wwww))))
  637.            Kill the    word behind the    cursor,    using white space as a
  638.            word boundary.  The word    boundaries are different from
  639.            bbbbaaaacccckkkkwwwwaaaarrrrdddd----kkkkiiiillllllll----wwwwoooorrrrdddd.
  640.       ddddeeeelllleeeetttteeee----hhhhoooorrrriiiizzzzoooonnnnttttaaaallll----ssssppppaaaacccceeee ((((MMMM----\\\\))))
  641.            Delete all spaces and tabs around point.
  642.       kkkkiiiillllllll----rrrreeeeggggiiiioooonnnn
  643.            Kill the    text between the point and _m_a_r_k    (saved cursor
  644.            position).  This    text is    referred to as the _r_e_g_i_o_n.
  645.       ccccooooppppyyyy----rrrreeeeggggiiiioooonnnn----aaaassss----kkkkiiiillllllll
  646.            Copy the    text in    the region to the kill buffer.
  647.       ccccooooppppyyyy----bbbbaaaacccckkkkwwwwaaaarrrrdddd----wwwwoooorrrrdddd
  648.            Copy the    word before point to the kill buffer.  The
  649.            word boundaries are the same as bbbbaaaacccckkkkwwwwaaaarrrrdddd----wwwwoooorrrrdddd.
  650.       ccccooooppppyyyy----ffffoooorrrrwwwwaaaarrrrdddd----wwwwoooorrrrdddd
  651.            Copy the    word following point to    the kill buffer.  The
  652.            word boundaries are the same as ffffoooorrrrwwwwaaaarrrrdddd----wwwwoooorrrrdddd.
  653.       yyyyaaaannnnkkkk ((((CCCC----yyyy))))
  654.  
  655.  
  656.  
  657.      Page 10                         (printed 3/30/99)
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.      RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))         GGGGNNNNUUUU ((((1111999999998888 DDDDeeeecccc 33331111))))           RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))
  665.  
  666.  
  667.  
  668.            Yank the    top of the kill    ring into the buffer at    the
  669.            cursor.
  670.       yyyyaaaannnnkkkk----ppppoooopppp ((((MMMM----yyyy))))
  671.            Rotate the kill ring, and yank the new top.  Only works
  672.            following yyyyaaaannnnkkkk or yyyyaaaannnnkkkk----ppppoooopppp.
  673.  
  674.     NNNNuuuummmmeeeerrrriiiicccc    AAAArrrrgggguuuummmmeeeennnnttttssss
  675.       ddddiiiiggggiiiitttt----aaaarrrrgggguuuummmmeeeennnntttt ((((MMMM----0000,,,, MMMM----1111,,,, ............,,,, MMMM--------))))
  676.            Add this    digit to the argument already accumulating, or
  677.            start a new argument.  M-- starts a negative argument.
  678.       uuuunnnniiiivvvveeeerrrrssssaaaallll----aaaarrrrgggguuuummmmeeeennnntttt
  679.            This is another way to specify an argument.  If this
  680.            command is followed by one or more digits, optionally
  681.            with a leading minus sign, those    digits define the
  682.            argument.  If the command is followed by    digits,
  683.            executing uuuunnnniiiivvvveeeerrrrssssaaaallll----aaaarrrrgggguuuummmmeeeennnntttt again ends the numeric
  684.            argument, but is    otherwise ignored.  As a special case,
  685.            if this command is immediately followed by a character
  686.            that is neither a digit or minus    sign, the argument
  687.            count for the next command is multiplied    by four.  The
  688.            argument    count is initially one,    so executing this
  689.            function    the first time makes the argument count    four,
  690.            a second    time makes the argument    count sixteen, and so
  691.            on.
  692.  
  693.     CCCCoooommmmpppplllleeeettttiiiinnnngggg
  694.       ccccoooommmmpppplllleeeetttteeee ((((TTTTAAAABBBB))))
  695.            Attempt to perform completion on    the text before    point.
  696.            The actual completion performed is application-
  697.            specific.  BBBBaaaasssshhhh,    for instance, attempts completion
  698.            treating    the text as a variable (if the text begins
  699.            with $$$$),    username (if the text begins with ~~~~), hostname
  700.            (if the text begins with    @@@@), or command (including
  701.            aliases and functions) in turn.    If none    of these
  702.            produces    a match, filename completion is    attempted.
  703.            GGGGddddbbbb, on the other hand, allows completion of program
  704.            functions and variables,    and only attempts filename
  705.            completion under    certain    circumstances.
  706.       ppppoooossssssssiiiibbbblllleeee----ccccoooommmmpppplllleeeettttiiiioooonnnnssss ((((MMMM----????))))
  707.            List the    possible completions of    the text before    point.
  708.       iiiinnnnsssseeeerrrrtttt----ccccoooommmmpppplllleeeettttiiiioooonnnnssss ((((MMMM----****))))
  709.            Insert all completions of the text before point that
  710.            would have been generated by ppppoooossssssssiiiibbbblllleeee----ccccoooommmmpppplllleeeettttiiiioooonnnnssss.
  711.       mmmmeeeennnnuuuu----ccccoooommmmpppplllleeeetttteeee
  712.            Similar to ccccoooommmmpppplllleeeetttteeee, but    replaces the word to be
  713.            completed with a    single match from the list of possible
  714.            completions.  Repeated execution    of mmmmeeeennnnuuuu----ccccoooommmmpppplllleeeetttteeee steps
  715.            through the list    of possible completions, inserting
  716.            each match in turn.  At the end of the list of
  717.            completions, the    bell is    rung and the original text is
  718.            restored.  An argument of _n moves _n positions forward
  719.            in the list of matches; a negative argument may be used
  720.  
  721.  
  722.  
  723.      Page 11                         (printed 3/30/99)
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.      RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))         GGGGNNNNUUUU ((((1111999999998888 DDDDeeeecccc 33331111))))           RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))
  731.  
  732.  
  733.  
  734.            to move backward    through    the list.  This    command    is
  735.            intended    to be bound to TTTTAAAABBBB, but    is unbound by default.
  736.       ddddeeeelllleeeetttteeee----cccchhhhaaaarrrr----oooorrrr----lllliiiisssstttt
  737.            Deletes the character under the cursor if not at    the
  738.            beginning or end    of the line (like ddddeeeelllleeeetttteeee----cccchhhhaaaarrrr).     If at
  739.            the end of the line, behaves identically    to ppppoooossssssssiiiibbbblllleeee----
  740.            ccccoooommmmpppplllleeeettttiiiioooonnnnssss.  This command is unbound by    default.
  741.  
  742.     KKKKeeeeyyyybbbbooooaaaarrrrdddd MMMMaaaaccccrrrroooossss
  743.       ssssttttaaaarrrrtttt----kkkkbbbbdddd----mmmmaaaaccccrrrroooo ((((CCCC----xxxx (((())))
  744.            Begin saving the    characters typed into the current
  745.            keyboard    macro.
  746.       eeeennnndddd----kkkkbbbbdddd----mmmmaaaaccccrrrroooo    ((((CCCC----xxxx ))))))))
  747.            Stop saving the characters typed    into the current
  748.            keyboard    macro and store    the definition.
  749.       ccccaaaallllllll----llllaaaasssstttt----kkkkbbbbdddd----mmmmaaaaccccrrrroooo ((((CCCC----xxxx eeee))))
  750.            Re-execute the last keyboard macro defined, by making
  751.            the characters in the macro appear as if    typed at the
  752.            keyboard.
  753.  
  754.     MMMMiiiisssscccceeeellllllllaaaannnneeeeoooouuuussss
  755.       rrrreeee----rrrreeeeaaaadddd----iiiinnnniiiitttt----ffffiiiilllleeee ((((CCCC----xxxx CCCC----rrrr))))
  756.            Read in the contents of the _i_n_p_u_t_r_c file, and
  757.            incorporate any bindings    or variable assignments    found
  758.            there.
  759.       aaaabbbboooorrrrtttt    ((((CCCC----gggg))))
  760.            Abort the current editing command and ring the
  761.            terminal's bell (subject    to the setting of bbbbeeeellllllll----ssssttttyyyylllleeee).
  762.       ddddoooo----uuuuppppppppeeeerrrrccccaaaasssseeee----vvvveeeerrrrssssiiiioooonnnn ((((MMMM----aaaa,,,, MMMM----bbbb,,,, MMMM----_x,,,, ............))))
  763.            If the metafied character _x is lowercase, run the
  764.            command that is bound to    the corresponding uppercase
  765.            character.
  766.       pppprrrreeeeffffiiiixxxx----mmmmeeeettttaaaa ((((EEEESSSSCCCC))))
  767.            Metafy the next character typed.     EEEESSSSCCCC ffff is equivalent
  768.            to MMMMeeeettttaaaa----ffff.
  769.       uuuunnnnddddoooo ((((CCCC----____,,,, CCCC----xxxx CCCC----uuuu))))
  770.            Incremental undo, separately remembered for each    line.
  771.       rrrreeeevvvveeeerrrrtttt----lllliiiinnnneeee ((((MMMM----rrrr))))
  772.            Undo all    changes    made to    this line.  This is like
  773.            executing the uuuunnnnddddoooo command enough times to return the
  774.            line to its initial state.
  775.       ttttiiiillllddddeeee----eeeexxxxppppaaaannnndddd ((((MMMM----&&&&))))
  776.            Perform tilde expansion on the current word.
  777.       sssseeeetttt----mmmmaaaarrrrkkkk ((((CCCC----@@@@,,,, MMMM----<<<<ssssppppaaaacccceeee>>>>))))
  778.            Set the mark to the current point.  If a    numeric
  779.            argument    is supplied, the mark is set to    that position.
  780.       eeeexxxxcccchhhhaaaannnnggggeeee----ppppooooiiiinnnntttt----aaaannnndddd----mmmmaaaarrrrkkkk ((((CCCC----xxxx CCCC----xxxx))))
  781.            Swap the    point with the mark.  The current cursor
  782.            position    is set to the saved position, and the old
  783.            cursor position is saved    as the mark.
  784.       cccchhhhaaaarrrraaaacccctttteeeerrrr----sssseeeeaaaarrrrcccchhhh ((((CCCC----]]]]))))
  785.            A character is read and point is    moved to the next
  786.  
  787.  
  788.  
  789.      Page 12                         (printed 3/30/99)
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.      RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))         GGGGNNNNUUUU ((((1111999999998888 DDDDeeeecccc 33331111))))           RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))
  797.  
  798.  
  799.  
  800.            occurrence of that character.  A    negative count
  801.            searches    for previous occurrences.
  802.       cccchhhhaaaarrrraaaacccctttteeeerrrr----sssseeeeaaaarrrrcccchhhh----bbbbaaaacccckkkkwwwwaaaarrrrdddd ((((MMMM----CCCC----]]]]))))
  803.            A character is read and point is    moved to the previous
  804.            occurrence of that character.  A    negative count
  805.            searches    for subsequent occurrences.
  806.       iiiinnnnsssseeeerrrrtttt----ccccoooommmmmmmmeeeennnntttt ((((MMMM----####))))
  807.            The value of the    readline ccccoooommmmmmmmeeeennnntttt----bbbbeeeeggggiiiinnnn variable    is
  808.            inserted    at the beginning of the    current    line, and the
  809.            line is accepted    as if a    newline    had been typed.     This
  810.            makes the current line a    shell comment.
  811.       dddduuuummmmpppp----ffffuuuunnnnccccttttiiiioooonnnnssss
  812.            Print all of the    functions and their key    bindings to
  813.            the readline output stream.  If a numeric argument is
  814.            supplied, the output is formatted in such a way that it
  815.            can be made part    of an _i_n_p_u_t_r_c file.
  816.       dddduuuummmmpppp----vvvvaaaarrrriiiiaaaabbbblllleeeessss
  817.            Print all of the    settable variables and their values to
  818.            the readline output stream.  If a numeric argument is
  819.            supplied, the output is formatted in such a way that it
  820.            can be made part    of an _i_n_p_u_t_r_c file.
  821.       dddduuuummmmpppp----mmmmaaaaccccrrrroooossss
  822.            Print all of the    readline key sequences bound to    macros
  823.            and the strings they ouput.  If a numeric argument is
  824.            supplied, the output is formatted in such a way that it
  825.            can be made part    of an _i_n_p_u_t_r_c file.
  826.       eeeemmmmaaaaccccssss----eeeeddddiiiittttiiiinnnngggg----mmmmooooddddeeee ((((CCCC----eeee))))
  827.            When in vvvviiii editing mode,    this causes a switch to    eeeemmmmaaaaccccssss
  828.            editing mode.
  829.       vvvviiii----eeeeddddiiiittttiiiinnnngggg----mmmmooooddddeeee ((((MMMM----CCCC----jjjj))))
  830.            When in eeeemmmmaaaaccccssss editing mode, this    causes a switch    to vvvviiii
  831.            editing mode.
  832.  
  833.      DDDDEEEEFFFFAAAAUUUULLLLTTTT KKKKEEEEYYYY BBBBIIIINNNNDDDDIIIINNNNGGGGSSSS
  834.       The following    is a list of the default emacs and vi
  835.       bindings.  Characters    with the 8th bit set are written as
  836.       M-<character>, and are referred to as    _m_e_t_a_f_i_e_d characters.
  837.       The printable    ASCII characters not mentioned in the list of
  838.       emacs    standard bindings are bound to the _s_e_l_f-_i_n_s_e_r_t
  839.       function, which just inserts the given character into    the
  840.       input    line.  In vi insertion mode, all characters not
  841.       specifically mentioned are bound to _s_e_l_f-_i_n_s_e_r_t.  Characters
  842.       assigned to signal generation    by _s_t_t_y(1) or the terminal
  843.       driver, such as C-Z or C-C, retain that function.  Upper and
  844.       lower    case _m_e_t_a_f_i_e_d characters are bound to the same
  845.       function in the emacs    mode meta keymap.  The remaining
  846.       characters are unbound, which    causes readline    to ring    the
  847.       bell (subject    to the setting of the bbbbeeeellllllll----ssssttttyyyylllleeee variable).
  848.  
  849.     EEEEmmmmaaaaccccssss MMMMooooddddeeee
  850.         Emacs Standard bindings
  851.  
  852.  
  853.  
  854.  
  855.      Page 13                         (printed 3/30/99)
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.      RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))         GGGGNNNNUUUU ((((1111999999998888 DDDDeeeecccc 33331111))))           RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))
  863.  
  864.  
  865.  
  866.         "C-@"  set-mark
  867.         "C-A"  beginning-of-line
  868.         "C-B"  backward-char
  869.         "C-D"  delete-char
  870.         "C-E"  end-of-line
  871.         "C-F"  forward-char
  872.         "C-G"  abort
  873.         "C-H"  backward-delete-char
  874.         "C-I"  complete
  875.         "C-J"  accept-line
  876.         "C-K"  kill-line
  877.         "C-L"  clear-screen
  878.         "C-M"  accept-line
  879.         "C-N"  next-history
  880.         "C-P"  previous-history
  881.         "C-Q"  quoted-insert
  882.         "C-R"  reverse-search-history
  883.         "C-S"  forward-search-history
  884.         "C-T"  transpose-chars
  885.         "C-U"  unix-line-discard
  886.         "C-V"  quoted-insert
  887.         "C-W"  unix-word-rubout
  888.         "C-Y"  yank
  889.         "C-]"  character-search
  890.         "C-_"  undo
  891.         " " to "/"  self-insert
  892.         "0"  to    "9"  self-insert
  893.         ":"  to    "~"  self-insert
  894.         "C-?"  backward-delete-char
  895.  
  896.         Emacs Meta bindings
  897.  
  898.         "M-C-G"     abort
  899.         "M-C-H"     backward-kill-word
  900.         "M-C-I"     tab-insert
  901.         "M-C-J"     vi-editing-mode
  902.         "M-C-M"     vi-editing-mode
  903.         "M-C-R"     revert-line
  904.         "M-C-Y"     yank-nth-arg
  905.         "M-C-["     complete
  906.         "M-C-]"     character-search-backward
  907.         "M-space"  set-mark
  908.         "M-#"  insert-comment
  909.         "M-&"  tilde-expand
  910.         "M-*"  insert-completions
  911.         "M--"  digit-argument
  912.         "M-."  yank-last-arg
  913.         "M-0"  digit-argument
  914.         "M-1"  digit-argument
  915.         "M-2"  digit-argument
  916.         "M-3"  digit-argument
  917.         "M-4"  digit-argument
  918.  
  919.  
  920.  
  921.      Page 14                         (printed 3/30/99)
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.      RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))         GGGGNNNNUUUU ((((1111999999998888 DDDDeeeecccc 33331111))))           RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))
  929.  
  930.  
  931.  
  932.         "M-5"  digit-argument
  933.         "M-6"  digit-argument
  934.         "M-7"  digit-argument
  935.         "M-8"  digit-argument
  936.         "M-9"  digit-argument
  937.         "M-<"  beginning-of-history
  938.         "M-="  possible-completions
  939.         "M->"  end-of-history
  940.         "M-?"  possible-completions
  941.         "M-B"  backward-word
  942.         "M-C"  capitalize-word
  943.         "M-D"  kill-word
  944.         "M-F"  forward-word
  945.         "M-L"  downcase-word
  946.         "M-N"  non-incremental-forward-search-history
  947.         "M-P"  non-incremental-reverse-search-history
  948.         "M-R"  revert-line
  949.         "M-T"  transpose-words
  950.         "M-U"  upcase-word
  951.         "M-Y"  yank-pop
  952.         "M-\"  delete-horizontal-space
  953.         "M-~"  tilde-expand
  954.         "M-C-?"     backward-delete-word
  955.         "M-_"  yank-last-arg
  956.  
  957.         Emacs Control-X    bindings
  958.  
  959.         "C-XC-G"  abort
  960.         "C-XC-R"  re-read-init-file
  961.         "C-XC-U"  undo
  962.         "C-XC-X"  exchange-point-and-mark
  963.         "C-X("    start-kbd-macro
  964.         "C-X)"    end-kbd-macro
  965.         "C-XE"    call-last-kbd-macro
  966.         "C-XC-?"  backward-kill-line
  967.  
  968.  
  969.     VVVVIIII MMMMooooddddeeee    bbbbiiiinnnnddddiiiinnnnggggssss
  970.         VI Insert Mode functions
  971.  
  972.         "C-D"  vi-eof-maybe
  973.         "C-H"  backward-delete-char
  974.         "C-I"  complete
  975.         "C-J"  accept-line
  976.         "C-M"  accept-line
  977.         "C-R"  reverse-search-history
  978.         "C-S"  forward-search-history
  979.         "C-T"  transpose-chars
  980.         "C-U"  unix-line-discard
  981.         "C-V"  quoted-insert
  982.         "C-W"  unix-word-rubout
  983.         "C-Y"  yank
  984.  
  985.  
  986.  
  987.      Page 15                         (printed 3/30/99)
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.      RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))         GGGGNNNNUUUU ((((1111999999998888 DDDDeeeecccc 33331111))))           RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))
  995.  
  996.  
  997.  
  998.         "C-["  vi-movement-mode
  999.         "C-_"  undo
  1000.         " " to "~"  self-insert
  1001.         "C-?"  backward-delete-char
  1002.  
  1003.         VI Command Mode    functions
  1004.  
  1005.         "C-D"  vi-eof-maybe
  1006.         "C-E"  emacs-editing-mode
  1007.         "C-G"  abort
  1008.         "C-H"  backward-char
  1009.         "C-J"  accept-line
  1010.         "C-K"  kill-line
  1011.         "C-L"  clear-screen
  1012.         "C-M"  accept-line
  1013.         "C-N"  next-history
  1014.         "C-P"  previous-history
  1015.         "C-Q"  quoted-insert
  1016.         "C-R"  reverse-search-history
  1017.         "C-S"  forward-search-history
  1018.         "C-T"  transpose-chars
  1019.         "C-U"  unix-line-discard
  1020.         "C-V"  quoted-insert
  1021.         "C-W"  unix-word-rubout
  1022.         "C-Y"  yank
  1023.         " "  forward-char
  1024.         "#"  insert-comment
  1025.         "$"  end-of-line
  1026.         "%"  vi-match
  1027.         "&"  vi-tilde-expand
  1028.         "*"  vi-complete
  1029.         "+"  next-history
  1030.         ","  vi-char-search
  1031.         "-"  previous-history
  1032.         "."  vi-redo
  1033.         "/"  vi-search
  1034.         "0"  beginning-of-line
  1035.         "1" to "9"  vi-arg-digit
  1036.         ";"  vi-char-search
  1037.         "="  vi-complete
  1038.         "?"  vi-search
  1039.         "A"  vi-append-eol
  1040.         "B"  vi-prev-word
  1041.         "C"  vi-change-to
  1042.         "D"  vi-delete-to
  1043.         "E"  vi-end-word
  1044.         "F"  vi-char-search
  1045.         "G"  vi-fetch-history
  1046.         "I"  vi-insert-beg
  1047.         "N"  vi-search-again
  1048.         "P"  vi-put
  1049.         "R"  vi-replace
  1050.  
  1051.  
  1052.  
  1053.      Page 16                         (printed 3/30/99)
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.      RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))         GGGGNNNNUUUU ((((1111999999998888 DDDDeeeecccc 33331111))))           RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))
  1061.  
  1062.  
  1063.  
  1064.         "S"  vi-subst
  1065.         "T"  vi-char-search
  1066.         "U"  revert-line
  1067.         "W"  vi-next-word
  1068.         "X"  backward-delete-char
  1069.         "Y"  vi-yank-to
  1070.         "\"  vi-complete
  1071.         "^"  vi-first-print
  1072.         "_"  vi-yank-arg
  1073.         "`"  vi-goto-mark
  1074.         "a"  vi-append-mode
  1075.         "b"  vi-prev-word
  1076.         "c"  vi-change-to
  1077.         "d"  vi-delete-to
  1078.         "e"  vi-end-word
  1079.         "f"  vi-char-search
  1080.         "h"  backward-char
  1081.         "i"  vi-insertion-mode
  1082.         "j"  next-history
  1083.         "k"  prev-history
  1084.         "l"  forward-char
  1085.         "m"  vi-set-mark
  1086.         "n"  vi-search-again
  1087.         "p"  vi-put
  1088.         "r"  vi-change-char
  1089.         "s"  vi-subst
  1090.         "t"  vi-char-search
  1091.         "u"  undo
  1092.         "w"  vi-next-word
  1093.         "x"  vi-delete
  1094.         "y"  vi-yank-to
  1095.         "|"  vi-column
  1096.         "~"  vi-change-case
  1097.  
  1098.      SSSSEEEEEEEE AAAALLLLSSSSOOOO
  1099.       _T_h_e _G_n_u _R_e_a_d_l_i_n_e _L_i_b_r_a_r_y, Brian Fox and Chet Ramey
  1100.       _T_h_e _G_n_u _H_i_s_t_o_r_y _L_i_b_r_a_r_y, Brian Fox and Chet Ramey
  1101.       _b_a_s_h(1)
  1102.  
  1103.      FFFFIIIILLLLEEEESSSS
  1104.       ~/._i_n_p_u_t_r_c
  1105.            Individual rrrreeeeaaaaddddlllliiiinnnneeee initialization file
  1106.  
  1107.      AAAAUUUUTTTTHHHHOOOORRRRSSSS
  1108.       Brian    Fox, Free Software Foundation (primary author)
  1109.       bfox@ai.MIT.Edu
  1110.  
  1111.       Chet Ramey, Case Western Reserve University
  1112.       chet@ins.CWRU.Edu
  1113.  
  1114.      BBBBUUUUGGGG RRRREEEEPPPPOOOORRRRTTTTSSSS
  1115.       If you find a    bug in rrrreeeeaaaaddddlllliiiinnnneeee,,,, you should report it.    But
  1116.  
  1117.  
  1118.  
  1119.      Page 17                         (printed 3/30/99)
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.      RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))         GGGGNNNNUUUU ((((1111999999998888 DDDDeeeecccc 33331111))))           RRRREEEEAAAADDDDLLLLIIIINNNNEEEE((((3333))))
  1127.  
  1128.  
  1129.  
  1130.       first, you should make sure that it really is    a bug, and
  1131.       that it appears in the latest    version    of the rrrreeeeaaaaddddlllliiiinnnneeee
  1132.       library that you have.
  1133.  
  1134.       Once you have    determined that    a bug actually exists, mail a
  1135.       bug report to    _b_u_g-_r_e_a_d_l_i_n_e@_g_n_u._o_r_g.  If you have a fix, you
  1136.       are welcome to mail that as well!  Suggestions and
  1137.       `philosophical' bug reports may be mailed to _b_u_g-
  1138.       _r_e_a_d_l_i_n_e@_g_n_u._o_r_g or posted to    the Usenet newsgroup
  1139.       ggggnnnnuuuu....bbbbaaaasssshhhh....bbbbuuuugggg.
  1140.  
  1141.       Comments and bug reports concerning this manual page should
  1142.       be directed to _c_h_e_t@_i_n_s._C_W_R_U._E_d_u.
  1143.  
  1144.      BBBBUUUUGGGGSSSS
  1145.       It's too big and too slow.
  1146.  
  1147.  
  1148.  
  1149.  
  1150.  
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.      Page 18                         (printed 3/30/99)
  1186.  
  1187.  
  1188.  
  1189.